// 给定一个数字，我们按照如下规则把它翻译为字符串：0翻译成"a"，1翻译成"b"，……，11翻译成"l"，……，
// 25翻译成"z"。一个数字可能有多个翻译。例如12258有5种不同的翻译，它们分别"bccfi", "bwfi", "bczi", "mcfi" 和"mzi" 。
// 请编程实现一个函数用来计算一个数字有多少种不同的翻译方法。
function getCount(number){
    if(number < 0)
        return 0;
    var str = number.toString();
    function getTranslationCount(str) {
        let n = str.length;
        let counts = [];
        let count = 0;
        for (let i = n - 1; i >= 0; i--) {
            if (i < n - 1)
                count = counts[i + 1];
            else
                count = 1;
            if (i < n - 1) {
                let disA = str[i] - '0';
                let disB = str[i + 1] - '0';
                let res = disA * 10 + disB;
                if (res >= 0 && res <= 25) {
                    if (i < n - 2) {
                        count += counts[i + 2];
                    } else {
                        count += 1;
                    }
                }
            }
            counts[i] = count;
        }
        count = counts[0];
        return count;
    }
    return getTranslationCount(str);
}
console.log(getCount(12258));


